﻿using Ah.Testudin.Engine.Actors;
using Ah.Testudin.Engine.Actors.Spawning;

using Microsoft.Xna.Framework;

namespace Ah.Testudin.Engine.Events
{
    public class ActorSpawningEvent : ITestudinEvent
    {
        #region Private Member Variables

        public ActorType Type { get; private set; }

        public Matrix Transform { get; private set; }

        public Actor Owner { get; private set; }

        public Vector3 Velocity { get; private set; }

        #endregion

        #region Constructors

        public ActorSpawningEvent(
            ActorType type,
            Matrix transform,
            Actor owner,
            Vector3 velocity)
        {
            this.Type = type;

            this.Transform = transform;

            this.Owner = owner;

            this.Velocity = velocity;
        }

        #endregion

        #region ITestudinEvent

        public EventType EventType
        {
            get { return EventType.ActorSpawning; }
        }

        #endregion
    }
}
